.\" Copyright 2008, Serge Hallyn <serge@hallyn.com>
.\" Copyright 2008, 2012, 2013, 2015, Michael Kerrisk <mtk.manpages@gmail.com>
.\" Copyright 2024, Alejandro Colomar <alx@kernel.org>
.\"
.\" SPDX-License-Identifier: Linux-man-pages-copyleft
.\"
.TH PR_CAPBSET_READ 2const 2024-06-02 "Linux man-pages 6.9.1"
.SH NAME
PR_CAPBSET_READ
\-
read the calling thread's capability bounding set
.SH LIBRARY
Standard C library
.RI ( libc ", " \-lc )
.SH SYNOPSIS
.nf
.BR "#include <linux/prctl.h>" "  /* Definition of " PR_* " constants */"
.B #include <sys/prctl.h>
.P
.BI "int prctl(PR_CAPBSET_READ, long " cap );
.fi
.SH DESCRIPTION
Return 1 if the capability specified in
.I cap
is in the calling thread's capability bounding set,
or 0 if it is not.
.P
The capability constants are defined in
.IR <linux/capability.h> .
.P
The capability bounding set dictates
whether the process can receive the capability through a
file's permitted capability set on a subsequent call to
.BR execve (2).
.SH RETURN VALUE
On success,
this call
returns the boolean value described above.
On error, \-1 is returned, and
.I errno
is set to indicate the error.
.SH ERRORS
.TP
.B EINVAL
.I cap
does not specify a valid capability.
.SH VERSIONS
A higher-level interface layered on top of this operation is provided in the
.BR libcap (3)
library in the form of
.BR cap_get_bound (3).
.SH STANDARDS
Linux.
.SH HISTORY
Linux 2.6.25.
.SH SEE ALSO
.BR prctl (2),
.BR PR_CAPBSET_DROP (2const),
.BR libcap (3),
.BR cap_get_bound (3)
